package io;

import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;

import java.io.*;
import java.util.Scanner;

/**
 * @Author @fiber-cloud
 * @Date 2025/10/8 9:46
 * 文件的复制
 */
public class IODemo12 {
    public static void main(String[] args) {
        //把一个文件拷贝到另一个文件
        // 把第一个文件按照字节依次读取，然后写到第二个文件中
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要拷贝的文件：");
        String srcPath = scanner.next();
        System.out.println("请输入要拷贝到哪个地方：");
        String destPath = scanner.next();

        File srcFile = new File(srcPath);
        if (!srcFile.isFile()){
            //如果源不是一个文件，此时不做任何操作
            return;
        }
        File destFile = new File(destPath);
        if (destFile.isFile()){
            //如果已经存在，认为也不能拷贝
            System.out.println("您当前输入的目标路径有误！");
            return;
        }

        //进行拷贝操作
        try(InputStream inputStream = new FileInputStream(srcFile);
            OutputStream outputStream = new FileOutputStream(destFile)){

            //进行读文件操作
            while (true){
                int b = inputStream.read();
                if (b == -1){
                    break;
                }
                outputStream.write(b);
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}
